package cn.autumnorange.app.common.rpc;

/** 具体策略由客户端实现,目前为网关和consumer */
public interface RPCIDHeaderStrategy extends RPCService {

  /**
   * 高并发情况下解决分布式并发问题可由前端传入header rpcId 具体可为表名+该记录的id 如库存表第一条记录并发修改 rpcId:stock1 锁住时间为该次
   * 对需要修改的数据逻辑进行锁定 使用redis锁 高并发锁住共享资源对象记录 重试调用锁住则为防止重复执行逻辑造成非幂等结果 是否需要加乐观锁确认结果为串行执行后得到的并非并发?
   *
   * @return
   */
  String getRPCIDByHeader();
}
